package com.zhs.smartmall.order.dto;

import io.swagger.annotations.ApiModel;
import lombok.*;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.format.annotation.DateTimeFormat;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;

/**
 *
 * @author zhenghuisheng
 * @since 2023-11-12
 */
@Data
@ApiModel(value = "OmsOrderReturnApplyDto")
public class OmsOrderReturnApplyDto implements Serializable {
        //表字段
        private static final long serialVersionUID = 1L;
        @JsonSerialize(using = ToStringSerializer.class)
        @ApiModelProperty(value = "主键")
        private Long id;

        @JsonSerialize(using = ToStringSerializer.class)
        @ApiModelProperty(value = "order_id")
        private Long orderId;

        @JsonSerialize(using = ToStringSerializer.class)
        @ApiModelProperty(value = "退货商品id")
        private Long skuId;

        @ApiModelProperty(value = "订单编号")
        private String orderSn;

        @ApiModelProperty(value = "申请时间")
        @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
        private Date createTime;

        @ApiModelProperty(value = "会员用户名")
        private String memberUsername;

        @ApiModelProperty(value = "退款金额")
        private java.math.BigDecimal returnAmount;

        @ApiModelProperty(value = "退货人姓名")
        private String returnName;

        @ApiModelProperty(value = "退货人电话")
        private String returnPhone;

        @ApiModelProperty(value = "申请状态[0->待处理；1->退货中；2->已完成；3->已拒绝]")
        private Integer status;

        @ApiModelProperty(value = "处理时间")
        @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
        private Date handleTime;

        @ApiModelProperty(value = "商品图片")
        private String skuImg;

        @ApiModelProperty(value = "商品名称")
        private String skuName;

        @ApiModelProperty(value = "商品品牌")
        private String skuBrand;

        @ApiModelProperty(value = "商品销售属性(JSON)")
        private String skuAttrsVals;

        @ApiModelProperty(value = "退货数量")
        private Integer skuCount;

        @ApiModelProperty(value = "商品单价")
        private java.math.BigDecimal skuPrice;

        @ApiModelProperty(value = "商品实际支付单价")
        private java.math.BigDecimal skuRealPrice;

        @ApiModelProperty(value = "原因")
        private String reason;

        @ApiModelProperty(value = "描述")
        private String description述;

        @ApiModelProperty(value = "凭证图片，以逗号隔开")
        private String descPics;

        @ApiModelProperty(value = "处理备注")
        private String handleNote;

        @ApiModelProperty(value = "处理人员")
        private String handleMan;

        @ApiModelProperty(value = "收货人")
        private String receiveMan;

        @ApiModelProperty(value = "收货时间")
        @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
        private Date receiveTime;

        @ApiModelProperty(value = "收货备注")
        private String receiveNote;

        @ApiModelProperty(value = "收货电话")
        private String receivePhone;

        @ApiModelProperty(value = "公司收货地址")
        private String companyAddress;

        @ApiModelProperty(value = "更新时间")
        @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
        private Date updateTime;

        @ApiModelProperty(value = "是否删除")
        private Integer isDeleted;

        //=====================自定义字段=====================

        //id
        private List<String> idList;
}
